//index.js
//获取应用实例
const app = getApp()

Page({
  data: {
    motto: 'Hello World',
    hidden: !1,
    userInfo: {},//用户信息
    hasUserInfo: false,//是否缓存了用户信息
    canIUse: wx.canIUse('button.open-type.getUserInfo'),//判断button.open-type.getUserInfo是否在能够使用
    show: !0,
    page:0,
    treeLists : [],//模拟数据,全部树的信息
    idLoadList: !1,
    list : [],//需要显示的书的列表（用于下拉加载）
    btn_list:[
      {
        id: 200,
        show:0,
        text: '全部'
      }
    ]
  },
  //事件处理函数
  bindViewTap: function() {
    wx.navigateTo({//跳转页面
      url: '../logs/logs'
    })
  },
  onPullDownRefresh: function () {//下拉刷新 需要在app.json设置enablePullDownRefresh为true才能实现
    wx.stopPullDownRefresh();//停止下拉刷新 必写项
  },
  onReachBottom: function () {//上拉加载
    var list = this.data.list;
    var listArray = this.moreLoad(this.data.treeLists, 10);
    var page = this.data.page + 1;
    if (listArray.length >= page+1){//数组长度>=等于页数的时候 加载完成全部
      this.setData({
        list: list.concat(listArray[page]),
        page: page
      });
    }else{
      this.setData({
        idLoadList : !0 
      })
    }
  },
  onLoad: function () {
    var t = this;
    app.getUser(function(ret){
      var url = app.getUrl() + '/planttingTree/tree';
      var data = {
        type: 'getTree'
      }
      app.core(url,'GET',data,function(res){
        console.log(res)
          let data = res.data;
          let list = data;
          // for(var i=0;i<40;i++){
          //   if(i%2===0){
          //     list.push(data[0])
          //   }else{
          //     list.push(data[1])
          //   }
          // }
          var listArray = t.moreLoad(list, 10);
          t.setData({
            hidden: ret.status,
            userInfo: ret.data,
            page: 0,
            list: listArray[0],
            treeLists: list,
            show: !1
          });
          t.getTreeType();
          }, err => {
            // err
            console.log(err)
          })
      })
  },
  getUserInfo: function (e) {//获取用户信息
    var t =this;
    this.setData({
      hidden: !0
    })
    wx.BaaS.handleUserInfo(e).then(res => {
      console.log(res)
      //res里为当前用户的信息
      app.getUser(function(ret){
        console.log(ret)
        if (ret.status){
          wx.BaaS.storage.set('userId', parseInt(res.id));
        }else{
          var data = {//定义需要传输的data数据
            type: 'member',//类型（后台请求的路由）
            openid: res.openid,//用户openid
            userid: res.id,//用户微信id
            nickname: res.nickName,//用户昵称
            headimgurl: res.avatarUrl,//用户头像
            country: res.province,//用户城市
            realname: '',//用户真实姓名
            isplanter: 0,//用户是否为植树人
            sex: res.gender,//用户性别 1为男 0为女
            balance: 0//用户余额
          };
          t.inserMember(data);
        }
      },res.id)     
    }, res => {
      // **res 有两种情况**：用户拒绝授权，res 包含基本用户信息：id、openid、unionid；其他类型的错误，如网络断开、请求超时等，将返回 Error 对象（详情见下方注解）
      // *Tips*：如果你的业务需要用户必须授权才可进行，由于微信的限制，10 分钟内不可再次弹出授权窗口，此时可以调用 [`wx.openSetting`](https://mp.weixin.qq.com/debug/wxadoc/dev/api/setting.html) 要求用户提供授权
      console.log('获取用户信息失败', res)
    })
  },
  moreLoad: function (array, size) {//获取第N页的数据
    var result = [];
    for (var x = 0; x < Math.ceil(array.length / size); x++) {
      var start = x * size;
      var end = start + size;
      result.push(array.slice(start, end));
    }
    return result;
  },
  inserMember: function (data){//创建用户
    var url = app.getUrl() +'/planttingTree/member';
    app.core(url,'post',data,function(res){
      console.log(res);
      if(res.data === 404){
        console.log('插入错误');
      }else{
        wx.BaaS.storage.set('userId', res.data);
      }
    })
  },
  getTreeType: function(){
    var t = this;
    var url = app.getUrl() + '/planttingTree/tree';
    var data ={
      type: 'getTreeType'
    }
    app.core(url,'GET',data,function(res){
      var btn_list = t.data.btn_list;
      [].forEach.call(res.data,function(value){
        btn_list.push({ id: value.id, show:1,text: value.name});
      });
      t.setData({
        btn_list: btn_list
      })
    })
  },
  getList: function(e){
    var t = this;
    var btn_list = t.data.btn_list;
    var typeid = e.target.dataset.typeid;
    var url = app.getUrl() + '/planttingTree/tree';
    var data = {
      type: 'getTree',
      typeid: typeid
    };
    [].forEach.call(btn_list,function(value,index){
      btn_list[index].show = 1;
      if(typeid == value.id){
        btn_list[index].show = 0;
      }
    });
    app.core(url, 'GET', data, function (res) {
      t.setData({
        list:res.data,
        btn_list: btn_list
      })
    })  
  }
})
